package com.health.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 体检订单
 * </p>
 *
 * @author health
 * @since 2023-04-20
 */
@Getter
@Setter
  @TableName("physical_order")
@ApiModel(value = "PhysicalOrder对象", description = "体检订单")
@EqualsAndHashCode
public class PhysicalOrder implements Serializable {

    private static final long serialVersionUID = 1L;

      @ExcelIgnore
      @ApiModelProperty("序号")
        @TableId(value = "id", type = IdType.AUTO)
      private Long id;

      @ExcelProperty("订单编号")
      @ApiModelProperty("订单交易号")
      private String outTradeNo;

      @ExcelProperty("订单金额")
      @ApiModelProperty("费用")
      private BigDecimal cost;

      @ExcelIgnore
      @ApiModelProperty("用户id")
      private Integer userId;

      @ExcelIgnore
      @ApiModelProperty("用户名")
      private String userName;

      @ExcelIgnore
      @ApiModelProperty("就诊人id")
      private String patinetId;

      @ExcelIgnore
      @ApiModelProperty("就诊人身份证号")
      private String idCard;

      @ExcelProperty("体检人")
      @ApiModelProperty("就诊人名称")
      private String patientName;

      @ExcelIgnore
      @ApiModelProperty("就诊人性别")
      private String gender;

      @ExcelIgnore
      @ApiModelProperty("就诊人电话")
      private String mobile;

      @ExcelIgnore
      @ApiModelProperty("就诊人地址")
      private String address;

      @ExcelIgnore
      @ApiModelProperty("预约用户与就诊人关系")
      private String relative;

      @ExcelIgnore
      @ApiModelProperty("套餐id")
      private Integer mealId;

      @ExcelProperty("体检机构")
      @ApiModelProperty("机构名称")
      private String hospitalName;

      @ExcelProperty("体检套餐")
      @ApiModelProperty("套餐名称")
      private String mealName;

      @ExcelProperty("下单时间")
      @ApiModelProperty("创建时间")
      @TableField(fill = FieldFill.INSERT)
      private LocalDateTime createTime;

      @ExcelIgnore
      @ApiModelProperty("机构id")
      private Integer hospitalId;

      @ExcelIgnore
      @ApiModelProperty("机构地址")
      private String hospitalAddress;

      @ExcelProperty("支付时间")
      @ApiModelProperty("支付时间")
      private LocalDateTime payTime;

      @ExcelProperty("订单状态")
      @ApiModelProperty("0 未支付 1 已支付")
      private Integer status;

      @ExcelIgnore
      @ApiModelProperty("0微信1支付宝")
      private Integer payType;

      @ExcelIgnore
      @ApiModelProperty("预约日期(就诊日期)")
      private LocalDateTime reserveDate;

      @ExcelIgnore
      @ApiModelProperty("排序")
      private Integer sort;

      @ExcelIgnore
      @ApiModelProperty("逻辑删除")
      @TableLogic
      private Integer isDeleted;

      @ExcelIgnore
      @ApiModelProperty("更新时间")
      @TableField(fill = FieldFill.INSERT_UPDATE)
      private LocalDateTime updateTime;

      @ExcelIgnore
      @ApiModelProperty("预约id")
      private Integer appointId;
}
